import request from '@/utils/request.js'

/**
 * 角色列表
 * @returns
 */
export const getRolesList = () => {
  return request({
    url: '/roles'
  })
}

/**
 * 删除角色指定权限
 * @returns roleId:角色 ID   rightId:权限 ID
 */
export const delRolesRights = (roleId, rightId) => {
  return request({
    url: `roles/${roleId}/rights/${rightId}`,
    method: 'DELETE'
  })
}

/**
 * 删除角色
 * @returns Id:角色 ID
 */
export const delRoles = (id) => {
  return request({
    url: 'roles/' + id,
    method: 'DELETE'
  })
}

/**
 * 根据 ID 查询角色
 * @returns Id:角色 ID
 */
export const getRolesById = (id) => {
  return request({
    url: 'roles/' + id,
    method: 'GET'
  })
}

/**
 * 编辑提交角色
 * @returns Id:角色 ID , roleName：角色名称, roleDesc:角色描述
 */
export const upDateRoles = (id, roleName, roleDesc) => {
  return request({
    url: 'roles/' + id,
    method: 'PUT',
    data: {
      roleName,
      roleDesc
    }
  })
}

/**
 * 添加角色
 * @returns roleName：角色名称, roleDesc:角色描述
 */
export const addDateRoles = (data) => {
  return request({
    url: 'roles',
    method: 'POST',
    data
  })
}

/**
 * 角色授权
 * @returns roleId:角色 ID, rids:权限 ID 列表（字符串）,以 , 分割的权限 ID 列表（获取所有被选中、叶子节点的key和半选中节点的key, 包括 1，2，3级节点
 */
export const impowerRoles = (roleId, rids) => {
  return request({
    url: `roles/${roleId}/rights`,
    method: 'POST',
    data: {
      rids
    }
  })
}
